const path = require("path")
const webpack = require('webpack')

module.exports = {
    mode:"none", ///公共文件mode为none
    entry:"./src/main.js",
    output:{
        filename:"dist.js",
        path:path.join(__dirname,"dist")
    },
    optimization:{
        usedExports:true,//查出沉余代码
        minimize:true,//去处沉余代码
        //concatenatModule:true,//原有webpack打包会把代码分布呈一个一个的函数，如果concatenateModules设置为true则将打包后尽可能将所有模块合并输出到一个函数中
        sideEffects:true,//为代码段打出标示，查看是否有副作用，没有的话打包时进行删除
        splitChunks:{
            chunks:"all"  // 将所有的公共模块进行提取
        }
    },
    devServer:{
        hotOyanly:true //当使用HMR热替换时，语法错误会导致webpack自动刷新浏览器，报错不提示，不利于开发找问题，所以配置hotOnly，不会刷新浏览器
    },
    module:{
        rules:[
            {
                test:/.js$/,
                use:{
                    loader:"babel-loader",
                    options:{
                        presets:["@babel/preset-env"]
                    }
                }
            },{
                test:/.less$/,
                use:["less-loader"]
            },{
                test:/.png$/,
                use:{
                    loader:"url-loader",
                    options:{
                        limt:1020*10   //当大衣10kb用file-loader
                    }
                }
            },{
                test:/.html$/,
                use:["html-loader"]
            }
        ]
    },
    plugins:[
        new webpack.HotModuleReplacementPlugin()//HMR热替换
    ]
}